home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-01-27 | 35.1 KB | 1,875 lines |
-
- ***************************
- *Installationsprogramm von*
- * DMAP V2.1 *
- * setzt deutsche Tastatur *
- * setzt Systemzeit *
- * installiert Blanker *
- * usw. *
- * von Martin Gierich *
- ***************************
-
-
- OpenLib = -408 ;exec
- CloseLib= -414
- OpenDev = -444
- CloseDev= -450
- DoIO = -456
- OpenRes = -498
- AddRes = -486
- RemRes = -492
- FindName= -276
- AddHead = -240
- AllocMem= -198
- FreeMem = -210
- FindTask= -294
- SetSig = -306
- Wait = -318
- AllocSig= -330
- FreeSig = -336
- AddPort = -354
- RemPort = -360
- PutMsg = -366
- GetMsg = -372
- ReplMsg = -378
- WaitPort= -384
- FindPort= -390
- SetFunc = -420
-
- Open = -30 ;dos
- Close = -36
- OutP = -60
- Write = -48
- Read = -42
- Delete = -72
- Rename = -78
- Lock = -84
- UnLock = -90
- IoErr = -132
- Delay = -198
- IsInter = -216
-
- refram = -456 ;intuition
- rethink = -390
- remake = -384
- movew = -168
- sizew = -288
- getprefs= -132
- setprefs= -324
- openwb = -210
- closewb = -78
- dispbeep= -96
- autoreq = -348
-
- FileReq = -$54 ;req
- Purge = -$72
- TextReq = -$ae
- ColorReq= -$5a
- GetLong = -$b4
-
- psize = 232 ;Preferences-Size
- Uhr = $dc0000 ;Adresse Echtzeituhr
- UhrAlt = $d80000 ;Uhr A2000a
- Custom = $dff000
- scnblk = 180
- ptrblk = 10
-
- begd = 0 ;von DMAP benutzt
- dos = begd-4
- int = dos-4
- gfx = int-4
- msgp = gfx-4
- task = msgp-4
- dev = task-4
- argv = dev-4
- argz = argv-4
- wbup = argz-4
- endd = wbup-4
-
- infoo = endd-$24
- dpackk = infoo-$44
- preff = dpackk-psize
- ioreqq = preff-$30
- puff = ioreqq-26
-
- ;dos
- ;int
- ;gfx
- req = gfx-4 ;von Install benutzt
- win = req-4
- file = win-4
- freq = file-4
- treq = freq-4
- dnam = treq-4
- fnam = dnam-4
- pnam = fnam-4
- lang = pnam-4
- getl = lang-4
- enddi = getl-4
-
- daten = 0 ;vom Handler benutzt
- resnode = daten+0 ;(Library-Kopf)
- rname = resnode+34
- zeiger = rname+18
- bild = zeiger+1
- lfdzei = bild+1
- lfdbild = lfdzei+4
- zeisec = lfdbild+4
- bildsec = zeisec+4
- accon = bildsec+4
- hpad = accon+1
- tast = hpad+3
- datsize = tast+2
-
-
- txt: macro
- lea t\1(pc),a0
- bsr.w wt
- endm
-
-
- inst: link a5,#enddi
- move.l 4.w,a6
- suba.l a1,a1
- jsr findtask(a6)
- tst.l d0
- beq.w fehl
- move.l d0,a4
- tst.l $ac(a4)
- bne.s cli
- lea $5c(a4),a0
- jsr waitport(a6)
- lea $5c(a4),a0
- jsr getmsg(a6)
- cli: lea dosn(pc),a1
- jsr openlib(a6)
- move.l d0,dos(a5)
- beq.w fehl
- lea intn(pc),a1
- jsr openlib(a6)
- move.l d0,int(a5)
- beq.w fehl
- move.l #8+46+131+31+162+356+34,d0
- move.l d0,d4
- move.l #1<<16!1,d1
- jsr allocmem(a6)
- tst.l d0
- beq.w fehl
- move.l d0,a0
- move.l d4,(a0)+
- move.l a0,treq(a5)
- lea 46(a0),a0
- move.l a0,dnam(a5)
- lea 131(a0),a0
- move.l a0,fnam(a5)
- lea 31(a0),a0
- move.l a0,pnam(a5)
- lea 162(a0),a0
- move.l a0,freq(a5)
- lea 356(a0),a0
- move.l a0,getl(a5)
- lea 34(a0),a0
-
- move.l dos(a5),a6
- move.l #winn,d1
- move.l #1005,d2
- jsr open(a6)
- move.l d0,win(a5)
- beq.w fehl
- move.l 4.w,a6
- lea reqn(pc),a1
- jsr openlib(a6)
- move.l d0,req(a5)
- bne.s reqda
- txt 22
- move.l dos(a5),a6
- move.l win(a5),d1
- move.l #gret,d2
- moveq #2,d3
- jsr read(a6)
- bra.w endi
- reqda: txt 1
- move.l req(a5),a6
- move.l treq(a5),a0
- move.l #ask1,0(a0)
- move.l #pos1,16(a0)
- move.l #neg1,20(a0)
- move.l #tit1,24(a0)
- jsr textreq(a6)
- tst.l d0
- bne.B nente
- txt 2
- bra.w ente
- nente: move.l req(a5),a6
- move.l treq(a5),a0
- move.l #ask8,0(a0)
- move.l #pos8,16(a0)
- move.l #neg8,20(a0)
- move.l #tit8,24(a0)
- jsr textreq(a6)
- tst.l d0
- beq.B kanl
- move.l dos(a5),a6
- move.l win(a5),d1
- move.l #anl,d2
- move.l #anle-anl,d3
- jsr write(a6)
- move.l win(a5),d1
- move.l #gret,d2
- moveq #2,d3
- jsr read(a6)
- kanl: txt 3
- nldl: move.l dos(a5),a6
- move.l #150,d1
- jsr delay(a6)
- move.l req(a5),a6
- move.l freq(a5),a0
- move.l #tit2,2(a0)
- move.l dnam(a5),6(a0)
- move.l fnam(a5),10(a0)
- move.l pnam(a5),14(a0)
- move.l #$1010,30(a0)
- move.w #2,34(a0)
- lea dir2,a1
- move.l dnam(a5),a2
- copdir: move.b (a1)+,(a2)+
- bne.B copdir
- jsr filereq(a6)
- tst.l d0
- beq.w forg
- move.l #2100,d0
- move.l d0,d4
- moveq #1,d1
- move.l 4.w,a6
- jsr allocmem(a6)
- tst.l d0
- beq.w fehl
- move.l d0,a4
- move.l d4,(a4)+
- move.l pnam(a5),d1
- move.l #1005,d2
- move.l dos(a5),a6
- ts: jsr open(a6)
- move.l d0,d7
- bne.B lok
- nlok: txt 13
- bra.w nldl
- lok: move.l d7,d1
- move.l a4,d2
- move.l #2100,d3
- jsr read(a6)
- move.l d0,d6
- move.l d7,d1
- jsr close(a6)
- tst.l d6
- beq.B nlok
- bmi.B nlok
- lea st(pc),a0
- move.l a4,a1
- moveq #4,d0
- vglh: cmpm.l (a0)+,(a1)+
- dbne d0,vglh
- bne.w kom
- cmp.l #$3e9,24(a4)
- bne.w kom
- move.l 28(a4),d0
- lsl.l #2,d0
- cmp.l #$3ec,32(a4,d0.l)
- bne.w kom
- move.l 36(a4,d0.l),d1
- lsl.l #2,d1
- move.l d1,d2
- add.l d0,d2
- cmp.l #$3f2,48(a4,d2.l)
- bne.w kom
- add.l #m1-st,d2
- move.l d2,d3
- moveq #0,d7
- lsr.l #1,d3
- lsr.l #1,d3
- roxl.l #1,d7
- tst.l d7
- beq.B jou
- addq.l #2,d2
- moveq #1,d7
- jou: addq.l #4,d2
- move.l d2,lang(a5)
- sub.l #4+(st1-st),d2
- lsr.l #2,d2
- lea st(pc),a0
- move.l d2,20(a0)
- move.l d2,28(a0)
- lea 32(a4),a0
- lea 44(a4,d0.l),a1
- lea m1(pc),a2
- lea kmap(pc),a3
- move.l d0,d2
- lsr.l #2,d2
- subq.l #1,d2
- move.l d2,-16(a3)
- move.l d0,-8(a3)
- move.l d1,d3
- lsr.l #2,d3
- subq.l #1,d3
- move.l d3,-12(a3)
- move.l d1,-4(a3)
- copm1: move.l (a0)+,(a2)+
- dbra d2,copm1
- copm2: move.l (a1)+,(a2)+
- dbra d3,copm2
- tst.l d7
- beq.B jou2
- move.w #0,(a2)+
- jou2: move.l #$3f2,(a2)+
- cmp.l #end,a2
- bhi.w fehl
-
- txt 4.3
- enl: move.l 4.w,a6
- move.l a4,a1
- move.l -(a1),d0
- jsr freemem(a6)
- bra.B beid
- kom: txt 4.2
- move.l 4.w,a6
- move.l a4,a1
- move.l -(a1),d0
- jsr freemem(a6)
- bra.w nldl
- forg: txt 5
- move.l #h3-st,lang(a5)
- beid: txt 6
- move.l dos(a5),a6
- move.l #uhr,a4
- move.b 1(a4),d4
- moveq #100,d1
- jsr delay(a6)
- cmp.b 1(a4),d4
- beq.B nneu
- txt 7
- bra.B uall
- nneu: move.l #uhralt,a4
- move.b 1(a4),d4
- moveq #80,d1
- jsr delay(a6)
- cmp.b 1(a4),d4
- beq.B nalt
- txt 8
- move.l a4,uhrset+2
- bra.B uall
- nalt: txt 9
- uall: move.l dos(a5),a6
- move.l #150,d1
- jsr delay(a6)
- btst #5,$dff004
- beq.B ecs
- txt 10
- bra.B ecsall
- ecs: txt 11
- ecsall: txt 12
- saveit: move.l dos(a5),a6
- move.l #150,d1
- jsr delay(a6)
- move.l req(a5),a6
- move.l freq(a5),a0
- move.l #tit4,2(a0)
- move.l dnam(a5),6(a0)
- move.l fnam(a5),10(a0)
- move.l pnam(a5),14(a0)
- move.l #$1010,30(a0)
- lea dir4,a1
- move.l dnam(a5),a2
- codir1: move.b (a1)+,(a2)+
- bne.B codir1
- lea fil4,a1
- move.l fnam(a5),a2
- codir2: move.b (a1)+,(a2)+
- bne.B codir2
- jsr filereq(a6)
- tst.l d0
- bne.B nente2
- txt 15
- bra.w ente
- nente2: move.l pnam(a5),d1
- move.l #1006,d2
- move.l dos(a5),a6
- jsr open(a6)
- move.l d0,d7
- bne.B okw
- nokw: txt 13
- bra.w saveit
- okw: move.l d7,d1
- move.l #st,d2
- move.l lang(a5),d3
- jsr write(a6)
- tst.l d0
- bmi.B nokw2
- cmp.l lang(a5),d0
- beq.B okw2
- nokw2: txt 13
- move.l d7,d1
- jsr close(a6)
- bra.w saveit
- okw2: move.l d7,d1
- jsr close(a6)
- txt 14
- move.l req(a5),a6
- move.l treq(a5),a0
- move.l #ask5,0(a0)
- move.l #mid5,12(a0)
- move.l #pos5,16(a0)
- move.l #neg5,20(a0)
- move.l #tit5,24(a0)
- jsr textreq(a6)
- tst.l d0
- beq.B ente
- txt 20
- subq.l #1,d0
- beq.w saveit
- txt 19
- bra.w saveit
-
- ente: txt 21
- move.l req(a5),a6
- move.l treq(a5),a0
- clr.l 24(a0)
- move.l #ask3,0(a0)
- move.l #mid3,12(a0)
- clr.l 16(a0)
- clr.l 20(a0)
- move.l #tit3,24(a0)
- jsr textreq(a6)
- move.l 4.w,a6
- move.l req(a5),a1
- jsr closelib(a6)
- endi: move.l dos(a5),a6
- move.l win(a5),d1
- jsr close(a6)
- move.l 4.w,a6
- move.l treq(a5),a1
- move.l -(a1),d0
- jsr freemem(a6)
- move.l int(a5),a1
- jsr closelib(a6)
- move.l dos(a5),a1
- jsr closelib(a6)
- unlk a5
- moveq #0,d0
- rts
-
- fehl: moveq #-1,d0
- unlk a5
- rts
-
-
-
- wt: movem.l d0-d7/a0-a6,-(a7)
- move.l dos(a5),a6 ;schreibt Text
- move.l win(a5),d1
- move.l a0,d2
- moveq #0,d3
- wrh: addq.l #1,d3
- tst.b (a0)+
- bne.B wrh
- subq.l #1,d3
- move.l d3,d4
- ; lsl.l #1,d4
- jsr write(a6)
- move.l d4,d1
- jsr delay(a6)
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- gret: dc.w 0
- reqn: dc.b "req.library",0
- winn: dc.b "CON:0/10/639/199/DMAP-Installation",0
-
- tit1: dc.b "Moin,Moin",0
- ask1: dc.b "Soll's gleich losgehen ?",0
- pos1: dc.b "Gerne",0
- neg1: dc.b "Hab' jetzt keine Zeit!",0
- tit2: dc.b "Tastaturbelegung Laden",0
- dir2: dc.b "DEVS:Keymaps",0
- ask3: dc.b "Alles klar ? ",0
- mid3: dc.b "Un Tschüss !",0
- tit3: dc.b "Das war's",0
- tit4: dc.b "Verzeichnis auswählen",0
- dir4: dc.b "C:",0
- fil4: dc.b "DMAP",0
- ask5: dc.b "Soll's nochmal gespeichert werden ?",0
- neg5: dc.b "Lieber nicht !",0
- pos5: dc.b "Au JA !",0
- mid5: dc.b "Sofort !",0
- tit5: dc.b "Und nun ?",0
- tit8: dc.b "Wie wär's ?",0
- ask8: dc.b "Eine kleine Anleitung gefällig ?",0
- neg8: dc.b " Nöö ",0
- pos8: dc.b " Warum nicht ? ",0
- t1: dc.b "Willkommmen zur Installlation des Wahnsinns-"
- dc.b "Programms DMAP !!!",10,0
- t2: dc.b "Dann halt nicht !",10,0
- t3: dc.b "Auf geht's:Jetzt wird die Tastaturbelegung geladen.",10
- dc.b "Durch Anklicken von 'Forget It' wird die Default-"
- dc.b "Tastatur ausgewählt.",10,0
- t4.2: dc.b "Das ist mir zu kompliziert !",10,0
- t4.3: dc.b "Diese Belegung gefällt mir.",10,10,0
- t5: dc.b "Die Default-Belegung tut's natürlich auch.",10,10,0
- t6: dc.b "Wollen wir mal sehen, ob Du eine Echtzeituhr hast.",10,0
- t7: dc.b "Wow, Du hast ja eine von der neuen Sorte.",10,0
- t8: dc.b "Und dieses alte Museumsstück funktioniert noch ???",10,0
- t9: dc.b "Was! Du hast ja gar keine ! Ein AMIGA ohne taugt"
- dc.b " doch gar nix !!!",10
- dc.b "Die Option 's' lässt Du lieber bleiben.",10,0
- t10: dc.b 10,"Du bist ja 'up to date'. Du hast ein ECS-Agnus.",10,0
- t11: dc.b 10,"Bääh! Was willst Du denn mit deinem alten Agnus"
- dc.b " anfangen ?",10,"Die Option 'f' kannst Du damit"
- dc.b " vergessen !",10,0
- t12: dc.b 10,"Jetzt wird der Klumps gespeichert.",10
- dc.b "Dazu bitte Verzeichnis und Namen auswählen.",10,0
- t13: dc.b "Das hat nicht hingehauen !",10,0
- t14: dc.b "Das wäre geschafft !",10,0
- t15: dc.b "Was soll denn das nun wieder ?",10,0
- t19: dc.b "Trotzdem : Immer mit der Ruhe !",10,0
- t20: dc.b "So ist's recht !",10,0
- t21: dc.b 10,"Na ja, das war's denn wohl.",10,0
- t22: dc.b "Ich brauche req.library V1.4+ !",10
- dc.b "Ansonsten mußt Du DMAP von Hand installieren.",10
- dc.b "Drücke RETURN !",10,0
-
- anl: dc.b "Kurzanleitung von DMAP V2.1 !",10,10
- dc.b "Mit Hilfe dieses Installationsprogrammes kann eine"
- dc.b " gewünschte Tastatur-",10
- dc.b "belegung in DMAP eingebunden werden, und dann DMAP"
- dc.b " auf Diskette oder",10
- dc.b "Festplatte gespeichert werden. Danach kann DMAP aus"
- dc.b " dem CLI benutzt werden.",10,10
- dc.b "Folgende Optionen können benutzt werden :",10
- dc.b "d : Damit wird die installierte Tastatur gesetzt"
- dc.b " oder wieder aktiviert.",10
- dc.b "D : Dasselbe wie d, öffnet aber kein CLI-Fenster"
- dc.b " aus der Startup-Sequence",10
- dc.b " unter KS 2.0+.",10
- dc.b "s : Die aktuelle Zeit wird aus der Echtzeituhr gelesen"
- dc.b " und als",10
- dc.b " Systemzeit gesetzt.",10
- dc.b "r : Es wird angezeigt, welche resetfesten Programme"
- dc.b " vorhanden sind.",10
- dc.b " So werden fast alle Viren gefunden.",10
- dc.b "R : Wie r, unterdrückt aber die Meldung: Nichts"
- dc.b " resetfest",10
- dc.b "b##: Der Bildschirm wird nach der Zeit xx Sekunden"
- dc.b " schwarzgeschaltet.",10
- dc.b "m##: Der Mauszeiger wird nach der Zeit xx Sekunden"
- dc.b " ausgeschaltet.",10
- dc.b "t : Der Mausbeschleuniger wird eingeschaltet",10
- dc.b "T : Mausbeschleuniger ausschalten",10
- dc.b "g : Das aktuelle Fenster wird auf maximale Größe"
- dc.b " vergrößert.",10
- dc.b "f : Die Bildwechselfrequenz wird auf ca. 55 Hz (PAL)"
- dc.b " bzw. 70 Hz (NTSC)",10
- dc.b " vergrößert. Das Bild flimmert dann weniger.",10
- dc.b "F : Option f ausschalten",10
- dc.b "l : Sicherheitsabfrage vor dem Löschen von Files.",10
- dc.b "L : Option l ausschalten",10
- dc.b "a# : Backup-Abfrage vor dem Überschreiben von Files",10
- dc.b "A : Option A ausschalten",10,10
- dc.b "## steht für eine (mehrstellige) Zahl.",10
- dc.b "# steht für eine Ziffer.",10
- dc.b "Es können mehrere Optionen gleichzeitig angegeben"
- dc.b " werden.",10
- dc.b "Folgt nach b oder m keine Zahl, so wird die"
- dc.b " entsprechende",10
- dc.b "Funktion abgeschaltet.",10
- dc.b "Bildschirm ausblenden: SHIFT-Links + CTRL + A ",10
- dc.b "Anwendungsbeispiel: DMAP b300da2r",10,10
- dc.b "Bitte RETURN drücken.",10
- anle:
-
-
- ;****************************************************************
- ; Hier beginnt das Programm selbst
- ;****************************************************************
-
- even
- st: dc.l $3f3,0,1,0,0,(h2-st1+3)/4,$3e9,(h2-st1+3)/4 ;Hunk-Länge
- st1: link a5,#endd-$24-$44-psize-$30-26
- move.l a0,argv(a5)
- move.l d0,argz(a5)
- move.l 4.w,a6
- lea dosn(pc),a1
- jsr openlib(a6)
- move.l d0,dos(a5)
- beq.b fehlj
- lea intn(pc),a1
- jsr openlib(a6)
- move.l d0,int(a5)
- beq.b fehlj
- lea gfxn(pc),a1
- jsr openlib(a6)
- move.l d0,gfx(a5)
- beq.b fehlj
- suba.l a1,a1
- jsr findtask(a6)
- move.l d0,task(a5)
- fehlj: beq.b fehler
- move.l d0,a4
- lea $5c(a4),a0
- move.l a0,msgp(a5)
-
- hauptl: subq.l #1,argz(a5) ;Hauptschleife
- beq.b ende
- move.l argv(a5),a0
- move.b (a0),d0
- addq.l #1,argv(a5)
- lea zeitab(pc),a0
- lea jmptab(pc),a1
- lea st(pc),a2
- lea verwe(pc),a3
- move.l #$3857f0c4,d1
- eor.l #$7f3e95b6,d1
- cmp.l -8(a3),d1
- bne.b ende
- moveq #-1,d1
- noo: tst.b (a0)
- beq.s hauptl
- addq.w #1,d1
- cmp.b (a0)+,d0
- bne.s noo
- lsl.w #2,d1
- move.l 0(a1,d1.w),a0
- add.l a2,a0
- move.l 4.w,a6
- jsr (a0)
- bra.s hauptl
-
- fehler: moveq #-1,d0 ;Falls was nicht stimmt
- unlk a5
- rts
-
- ende: move.l 4.w,a6
- move.l gfx(a5),a1 ;Un Tschüssssssssss
- jsr closelib(a6)
- move.l int(a5),a1
- jsr closelib(a6)
- move.l dos(a5),a1
- jsr closelib(a6)
- unlk a5
- moveq #0,d0
- rts
-
-
- clrio: lea ioreqq(a5),a1 ;initialisiert IO-Request
- move.l a1,a0
- moveq #$2f,d0
- clst3: clr.b (a0)+
- dbra d0,clst3
- move.b #5,8(a1)
- move.l msgp(a5),a0
- move.l a0,14(a1)
- move.w #$30,18(a1)
- rts ;a1:IO-Request
-
-
- infos: move.l dos(a5),a6 ;???
- jsr outp(a6)
- move.l d0,d1
- beq.s wb1
- lea verw(pc),a0
- move.l a0,d2
- move.l #verwe-verw,d3
- jsr write(a6)
- wb1: move.l 4.w,a6
- rts
-
- setmap2: moveq #-1,d7 ;DDD
- bra.s setgh
- setmap: moveq #0,d7 ;ddd
- setgh: bsr.s clrio
- move.w #$30,18(a1)
- lea condev(pc),a0
- moveq #-1,d0
- moveq #0,d1
- jsr opendev(a6)
- tst.l d0
- bne.w fehler
-
- res: lea keyres(pc),a1
- moveq #0,d0
- jsr openres(a6)
- tst.l d0
- fehlj2: beq.w fehler
- move.l d0,a0
- lea 14(a0),a0
- move.l a0,d4
- lea kmap(pc),a4
- move.l 10(a4),a1
- add.l a4,a1
- jsr findname(a6)
- move.l d0,d3
- bne.s noadd
-
- addh: move.l -8(a4),d0
- moveq #1,d1
- jsr allocmem(a6)
- move.l d0,d3
- beq.b fehlj2
- move.l a4,a0
- add.l -8(a4),a0
- move.l -12(a4),d1
- move.l a4,a1
- moveq #0,d0
- wdh: move.l 0(a0,d0),d2
- add.l d3,0(a1,d2)
- addq.l #4,d0
- dbf d1,wdh
- move.l -16(a4),d0
- move.l d3,a2
- cpy: move.l (a1)+,(a2)+
- dbf d0,cpy
- move.l d4,a0
- move.l d3,a1
- jsr addhead(a6)
- noadd: move.l d3,a2 ;keymap->a2
-
- defkm: lea ioreqq(a5),a1
- move.l #$20,36(a1)
- lea 14(a2),a3
- move.l a3,40(a1)
- move.w #12,28(a1)
- jsr doio(a6)
- tst.l d0
- bne.w fehler
-
- tst.w d7
- bne.w endmap WB-START ?
- nochm: lea infoo(a5),a0 ;Clear dpack,info
- moveq #$23,d0
- clst1: clr.b (a0)+
- dbra d0,clst1
- lea dpackk(a5),a0
- move.l a0,a1
- moveq #$43,d0
- clst2: clr.b (a1)+
- dbra d0,clst2
- move.l task(a5),a1
- lea $14(a0),a3
- move.l a3,$a(a0)
- move.l a0,$14(a0)
- lea $5c(a1),a3
- move.l a3,$e(a0)
- move.l a3,$18(a0)
- move.l #$19,$1c(a0)
- lea infoo(a5),a4
- move.l a4,d0
- lsr.l #2,d0
- move.l d0,$28(a0)
- move.l a0,d6
- move.l $a4(a1),a1
- exg a0,a1
- jsr putmsg(a6)
- move.l a3,a0
- waitp: jsr waitport(a6)
- move.l d0,d5
- move.l a3,a0
- jsr getmsg(a6)
- tst.l d0
- beq.w fehler
- cmp.l d6,d5
- bne.B waitp
- lea infoo(a5),a0
- tst.l $20(a0)
- beq.s nochm
- move.l $20(a0),a0
- move.l $18(a0),a0
- lea ioreqq(a5),a1
- move.l #$20,36(a1)
- lea 14(a2),a3
- move.l a3,40(a1)
- move.w #10,28(a1)
- clr.w 30(a1)
- move.l a0,24(a1)
- jsr doio(a6)
- tst.l d0
- bne.w fehler
-
- endmap: lea ioreqq(a5),a1
- clr.w 28(a1)
- move.l #-1,24(a1)
- jsr closedev(a6)
- rts
-
-
- zeit: move.l dos(a5),a6 ;sss
- lea uhr,a4
- jsr outp(a6)
- move.l d0,d1
- beq.s wb
- uhrset: lea puff(a5),a3
- moveq #0,d3
- lea dat(pc),a0
- next: moveq #0,d0
- move.b (a0)+,d0
- btst #0,d0
- beq.s zei
- move.b 0(a4,d0),d0
- and.b #$f,d0
- add.b #$30,d0
- zei: bsr.b wc
- cmp #10,d0
- bne.s next
- move.l a3,d2
- jsr write(a6)
- wb: bra.s jpur
- ;Unterroutinen :
- wc: move.b d0,0(a3,d3) ;Write Char
- addq.l #1,d3
- rts
-
- get: move.b 0(a4,d6),d1 ;Get Clock
- move.b 4(a4,d6),d0
- addq.l #8,d6
- and.w #$f,d0
- and.w #$f,d1
- mulu #10,d0
- add.w d1,d0
- ext.l d0
- rts
-
- jpur: move.l 4.w,a6
- move.b 53(a4),d0
- or.b #1,d0
- move.b d0,53(a4)
- clkw: btst #1,53(a4)
- bne.b clkw
- moveq #0,d7
- moveq #1,d6
- bsr.b get ;sec
- move.b d0,d7
- bsr.b get ;min
- mulu #smin,d0
- add.l d0,d7
- bsr.b get ;std
- mulu #sst,d0
- add.l d0,d7
- bsr.b get ;tag
- subq.l #1,d0
- move.l d0,d5
- bsr.b get ;monat
- cmp.w #12,d0
- bhi.w endtim
- move.l d0,d2
- lea mon(pc),a0
- move.b #28,1(a0) ;Pfusch !
- bsr.b get ;jahr
- cmp.w #140,d0
- bhi.w endtim
- move.b 53(a4),d3
- and.b #$0e,d3
- move.b d3,53(a4)
- move.l d0,d3
- and.w #3,d0
- bne.s nosj
- move.b #29,1(a0)
- nosj: subq.l #2,d2
- bmi.s jan
- madd: move.b 0(a0,d2),d0
- ext.w d0
- add.w d0,d5
- dbf d2,madd
- jan: cmp.b #78,d3
- beq.s tset
- subq.l #1,d3
- moveq #0,d1
- jadd: add.w #tjahr,d5
- move.l d3,d0
- and.w #3,d0
- bne.s nosj2
- addq.l #1,d5
- nosj2: cmp.b #78,d3
- dbeq d3,jadd
- move.l #stag,d1
- move.l d5,d0
- bsr.b mul
- add.l d0,d7
- cmp.l #$70000000,d7
- bhi.s endtim
-
- tset: bsr.w clrio
- move.l a1,a2
- move.w #$28,18(a1)
- lea timdev(pc),a0
- moveq #1,d0
- moveq #0,d1
- jsr opendev(a6)
- tst.l d0
- fehlj4: bne.w fehler
- move.l a2,a1
- move.w #11,28(a1)
- ; clr.w 30(a1)
- move.l d7,32(a1)
- ; clr.l 36(a1)
- ; clr.l 40(a1)
- jsr doio(a6)
- tst.l d0
- bne.s fehlj4
- move.l a2,a1
- clr.l 28(a1)
- jsr closedev(a6)
- endtim: rts
-
- mul: move.l d1,d2 ;Multipliziere
- mulu d0,d2
- move.l d1,d3
- swap d3
- mulu d0,d3
- swap d3
- clr.w d3
- add.l d2,d3
- move.l d3,d0
- rts
-
- vector2: moveq #-1,d7 ;RRR
- bra.s vegh
- vector: moveq #0,d7 ;rrr
- vegh: move.l dos(a5),a4
- exg.l a4,a6
- moveq #2,d0
- lea $2a(a4),a0
- chk1: tst.l (a0)+
- bne.s vir
- dbra d0,chk1
- moveq #2,d0
- lea $222(a4),a0
- chk2: tst.l (a0)+
- bne.s vir
- dbra d0,chk2
- tst.w d7
- bne.w wb2
- jsr outp(a6)
- move.l d0,d1
- beq.w wb2
- lea vecok(pc),a0
- move.l a0,d2
- move.l #vecoke-vecok,d3
- jsr write(a6)
- bra.w wb2
- vir: move.w d7,wbup(a5)
- jsr outp(a6)
- move.l d0,d1
- move.l d0,d5
- beq.w wb2
- lea virus(pc),a0
- move.l a0,d2
- move.l #viruse-virus,d3
- jsr write(a6)
- exg.l a3,a6
- move.l int(a5),a6
- move.l 60(a6),a0
- jsr dispbeep(a6)
- exg.l a3,a6
- move.l 50(a4),d7
- beq.s nowarm
- lea warm(pc),a0
- bsr.w capt
- bsr.w adr
- nowarm: move.l 46(a4),d7
- beq.s nocool
- lea cool(pc),a0
- bsr.w capt
- bsr.w adr
- nocool: move.l 42(a4),d7
- beq.s nocold
- lea cold(pc),a0
- bsr.w capt
- move.l d7,a2
- bsr.w adr
- moveq #0,d0
- moveq #10,d1
- setp: add.l (a2)+,d0
- dbra d1,setp
- cmp.l #$c538438d,d0
- bne.s nocold
- move.l d5,d1
- lea spatch(pc),a0
- move.l a0,d2
- move.l #spatche-spatch,d3
- jsr write(a6)
- nocold: bsr.w ret
- move.l 550(a4),d4
- beq.s nores
- reswi: bclr #31,d4
- move.b #">",d7
- bsr.w cr
- move.l d4,a3
- tres: move.l (a3)+,d4
- beq.s nores
- btst #31,d4
- bne.s reswi
- move.l d4,a0
- move.l 14(a0),a2
- movem.l a0,-(a7)
- tst.l 14(a0)
- beq.s nwresn
- wresn: move.b (a2)+,d7
- beq.s nwresn
- bsr.s cr
- bra.s wresn
- nwresn: bsr.s ret
- move.b #"*",d7
- bsr.s cr
- movem.l (a7)+,a0
- move.l 18(a0),a2
- tst.l 18(a0)
- beq.s nwresid
- wresid: move.b (a2)+,d7
- beq.s nwresid
- bsr.s cr
- bra.s wresid
- nwresid:bsr.s ret
- bra.s tres
- nores: tst.w wbup(a5)
- beq.s wb2
- move.l d5,d1
- lea drurt(pc),a0
- move.l a0,d2
- move.l #drurte-drurt,d3
- jsr write(a6)
- move.l d5,d1
- lea puff(a5),a0
- move.l a0,d2
- moveq #1,d3
- jsr read(a6)
- wb2: rts
-
- capt: move.l d5,d1 ;Unterprogramme
- move.l a0,d2
- moveq #5,d3
- jsr write(a6)
- rts
-
- ret: move.b #10,d7 ;Return
- cr: lea puff(a5),a0 ;Ein Zeichen
- move.b d7,(a0)
- move.l a0,d2
- char: move.l #1,d3
- move.l d5,d1
- jsr write(a6)
- rts
-
- adr:; lsl.l #8,d7 ;Gibt Adresse aus
- move.w #7,d6
- nib: moveq #0,d1
- move.w #3,d2
- rot: roxl.l #1,d7
- roxl.b #1,d1
- dbf d2,rot
- lea hex(pc),a0
- move.l a0,d2
- add.l d1,d2
- bsr.s char
- dbf d6,nib
- bsr.s ret
- rts
-
- hex: dc.b "0123456789abcdef" ;für adr
- even
-
-
- resize: move.l int(a5),a6 ;ggg
- move.l $34(a6),a3
- move.l $2e(a3),a1
- moveq #-1,d2
- move.l 12(a1),d3
- sub.w 10(a3),d3
- sub.w #10,d3
- move.w d3,d1
- bpl.s klein
- moveq #0,d2
- moveq #0,d0
- move.l a3,a0
- jsr sizew(a6)
- klein: moveq #0,d0
- sub.w 4(a3),d0
- moveq #10,d1
- sub.w 6(a3),d1
- move.l a3,a0
- jsr movew(a6)
- moveq #0,d1
- tst.b d2
- beq.s gross
- move.w d3,d1
- gross: swap d3
- sub.w 8(a3),d3
- move.w d3,d0
- move.l a3,a0
- jsr sizew(a6)
- jsr rethink(a6)
- rts
-
-
- freqoff: lea custom,a4 ;FFF
- move.w #$0000,$1dc(a4)
- move.w #$011c,d4
- moveq #$0000,d5
- move.w #$0100,d6
- moveq #$001b,d7
- bra.s ks1
-
- freqon: lea custom,a4 ;fff
- move.w #$011c,d4 ;Zeilenzahl=($2625a/(10*Freq.))and$ffff
- move.w #$00ef,d5 ;Verschiebung (Pref.)
- move.w #$0100,d6 ;Zeilenzahl (Screen)
- moveq #$001b,d7 ;Verschiebung (View)
- cmp.b #50,530(a6) ;55Hz oder 70Hz ?
- beq.s pal
- move.w #$00df,d4
- move.w #$00ea,d5
- move.w #$00c8,d6
- moveq #$0016,d7
- pal: move.w d4,$1c8(a4)
- move.w #$00e2,$1c0(a4)
- move.w #$0080,$1dc(a4)
- cmp.w #36,20(a6) ;EXEC-Version >= 36 ? (KS2.x)
- bcs.s ks1
- move.w #$00f1,d5
- moveq #$001d,d7
- cmp.b #50,530(a6) ;55Hz oder 70Hz ?
- beq.s ks1
- moveq #$0017,d7 NTSC-Modus
- ks1: move.l #psize,d3
- lea preff(a5),a0
- move.l int(a5),a6
- move.l d3,d0
- jsr getprefs(a6)
- move.l d0,a0
- move.w d5,$76(a0)
- move.l d3,d0
- moveq #-1,d1
- jsr setprefs(a6)
- move.l gfx(a5),a3
- move.w d4,$d4(a3)
- move.w d6,$d8(a3)
- move.l $22(a3),a0
- move.w d7,$0c(a0)
- jsr rethink(a6)
- nclo: rts
-
-
- delon: moveq #delete,d7 ;Offset ;lll
- moveq #-fki,d5 ;Einsprung
- bra.s DPatch
- bakon: bsr getnum
- cmp.w #9,d0
- bhi.w dele
- move.w d0,d6
- beq.w dele
- moveq #open,d7 ;Offset ;aaa
- moveq #opfkt-delfkt-fki,d5
-
- DPatch: move.l dos(a5),a4
- add.l d7,a4
- move.w #$4ef9,d4
- moveq #0,d3
- cmp.w (a4),d4
- bne.s altt
- move.l 2(a4),a0
- sub.l d5,a0
- move.l 12(a0),d0
- cmp.l int(a5),d0
- beq.s dele
- moveq #-1,d3
- bra.s neuu
- altt: cmp.w #$6000,2(a4)
- bne.s dele
- neuu: move.l #delfkte-delfkt-fki,d2
- move.l d2,d0
- moveq #1,d1
- jsr allocmem(a6)
- move.l d0,a3
- tst.l d0
- beq.s dele
- lea -fki(a3),a0
- move.w d2,d0
- sub.w #1-fki,d0
- lea delfkt(pc),a1
- rtu: move.b (a1)+,(a0)+
- dbra d0,rtu
- move.w d4,(a3)
- move.l 2(a4),2(a3)
- tst.w d3
- bne.s neuu2
- lea 4(a4),a0
- move.w (a0),d0
- ext.l d0
- add.l d0,a0
- move.l a0,4(a3)
- move.w (a4),(a3)
- move.w d4,2(a3)
- neuu2: move.l d2,8(a3)
- move.l int(a5),12(a3)
- move.w d6,16(a3)
- move.l a3,d0
- add.l d5,d0
- move.l d7,a0
- move.l dos(a5),a1
- jsr setfunc(a6)
- dele: rts
-
- deloff: moveq #delete,d7 ;Offset ;LLL
- moveq #-fki,d6 ;Einsprung
- bra.s RPatch
- bakoff: moveq #open,d7 ;AAA
- moveq #opfkt-delfkt-fki,d6
-
- RPatch: move.l dos(a5),a4
- add.l d7,a4
- cmp.w #$4ef9,(a4)
- bne.s deloe
- move.l 2(a4),a1
- sub.l d6,a1
- move.l 12(a1),d0
- cmp.l int(a5),d0
- bne.s deloe
- move.w 0(a1),(a4)
- move.l 2(a1),2(a4)
- cmp.w #$4ef9,(a1)
- beq.s boing
- move.w #$6000,2(a4)
- lea 4(a4),a2
- move.l 4(a1),d0
- sub.l a2,d0
- move.w d0,(a2)
- boing: move.l 8(a1),d0
- jsr freemem(a6)
- deloe: rts
-
-
- scnon: bsr.w blkon ;bbb
- bsr.w getnum
- move.l d0,bildsec(a3)
- bra.s blkoff
-
- ptron: bsr.w blkon ;mmm
- bsr.w getnum
- move.l d0,zeisec(a3)
- bra.s blkoff
-
- turon: bsr.w blkon ;ttt
- move.b #1,accon(a3)
- bra.s blkoff
-
- turoff: bsr.s blkon ;TTT
- move.b #0,accon(a3)
- ; bra.s blkoff
-
- blkoff: tst.l bildsec(a3)
- bne.s jau
- tst.l zeisec(a3)
- bne.s jau
- tst.b accon(a3)
- beq.s nau
- jau: rts
- nau: move.w #$81a0,custom+$96
- move.l a3,a1
- jsr remres(a6)
- bsr.w clrio
- lea inpdev(pc),a0
- moveq #0,d0
- move.l a1,a2
- moveq #0,d1
- jsr opendev(a6)
- tst.l d0
- fehlj6: bne.w fehler
- move.w #10,28(a2)
- moveq #22,d0
- move.l d0,36(a2)
- lea intpos-datpos(a3),a0
- move.l a0,40(a2)
- move.l a2,a1
- jsr doio(a6)
- tst.l d0
- bne.s fehlj6
- move.l a2,a1
- jsr closedev(a6)
- move.l a3,a1
- sub.w 16(a3),a1 ;datpos
- moveq #0,d0
- move.w 16(a3),d0
- add.w 18(a3),d0
- ext.l d0
- jsr freemem(a6)
- rts
-
- blkon: lea blkres(pc),a1 ;Blanker-Installation
- moveq #0,d0
- jsr openres(a6)
- move.l d0,a3
- tst.l d0
- bne.w resda
- move.l #endpos,d0
- move.l #1<<16!1,d1
- jsr allocmem(a6)
- move.l d0,a4
- move.l d0,a1
- lea handbeg(pc),a0
- move.l #(datpos+3)/4,d0
- bcopy: move.l (a0)+,(a1)+
- dbra d0,bcopy
- lea datpos(a4),a3
- move.b #8,resnode+8(a3)
- lea rname(a3),a2
- move.l a2,a1
- lea blkres(pc),a0
- ncopy: move.b (a0)+,(a1)+
- bne.s ncopy
- move.l a2,resnode+10(a3)
- move.w #datpos,resnode+16(a3)
- move.w #endpos-datpos,resnode+18(a3)
- move.w #2,20(a3)
- move.w #1,22(a3)
- move.l a2,resnode+24(a3)
- move.w #$0200+52,intpos+8(a4) ;Priorität
- move.l a2,intpos+10(a4) ;Name
- move.l a3,intpos+14(a4) ;Data
- move.l a4,intpos+18(a4) ;Code
- move.l a3,a1
- jsr addres(a6)
-
- bsr.w clrio
- move.l a1,a2
- move.w #$28,18(a1)
- lea timdev(pc),a0
- moveq #1,d0
- moveq #0,d1
- jsr opendev(a6)
- tst.l d0
- bne.s fehlj5
- move.l a2,a1
- move.w #10,28(a1)
- jsr doio(a6)
- tst.l d0
- bne.s fehlj5
- move.l a2,a1
- clr.l 28(a1)
- jsr closedev(a6)
- move.l 32(a2),d0
- move.l d0,lfdzei(a3) ;Initialisieren
- move.l d0,lfdbild(a3)
- clr.b tast(a3)
-
- bsr.w clrio
- lea inpdev(pc),a0
- moveq #0,d0
- move.l a1,a2
- moveq #0,d1
- jsr opendev(a6)
- tst.l d0
- fehlj5: bne.w fehler
- move.w #9,28(a2)
- moveq #22,d0
- move.l d0,36(a2)
- lea intpos(a4),a0
- move.l a0,40(a2)
- move.l a2,a1
- jsr doio(a6)
- tst.l d0
- bne.b fehlj5
- move.l a2,a1
- jsr closedev(a6)
- resda: rts ;a3:datpos
-
- getnum: move.l argv(a5),a0 ;Holt Zahl aus Argument nach d0.l
- moveq #0,d0
- goon: move.b (a0)+,d1
- cmp.b #"0",d1
- blo.s genug
- cmp.b #"9",d1
- bhi.s genug
- sub.b #"0",d1
- ext.w d1
- mulu #10,d0
- add.w d1,d0
- addq.l #1,argv(a5)
- subq.l #1,argz(a5)
- bne.s goon
- addq.l #1,argz(a5)
- genug: ext.l d0
- rts
-
-
- ***** Input-Event-Handler ! *****
-
- handbeg:
- movem.l a0-a3,-(sp)
- lea custom,a2
- schleif:move.b 4(a0),d1
- timer: cmp.b #6,d1
- bne.s rawmou
- tst.b bild(a1)
- bne.b weith
- move.l bildsec(a1),d1
- beq.s ptrc
- move.l 14(a0),d0
- sub.l lfdbild(a1),d0
- cmp.l d1,d0
- blo.s ptrc
- bsr.b bildaus
- bra.b weith
- ptrc: tst.b zeiger(a1)
- bne.b weith
- move.l zeisec(a1),d1
- beq.b weith
- move.l 14(a0),d0
- sub.l lfdzei(a1),d0
- cmp.l d1,d0
- blo.b weith
- bsr.b zeigaus
- bra.b weith
-
- rawmou: cmp.b #2,d1
- bne.w rawkey
- tst.b accon(a1)
- beq.s accoff
- move.w 10(a0),d1 ;Maus beschleunigen
- bsr.b accalc
- move.w d1,10(a0)
- move.w 12(a0),d1
- bsr.b accalc
- move.w d1,12(a0)
- accoff: bsr.b bildan
- bsr.b zeigan
- ; bra.s weith
-
- weith: move.l (a0),d0
- move.l d0,a0
- bne.b schleif
- movem.l (sp)+,a0-a3
- move.l a0,d0
- rts
-
- bildan: move.w #$8000+$180,$96(a2)
- clr.b bild(a1)
- move.l 14(a0),lfdbild(a1)
- rts
-
- zeigan: move.w #$8000+$20,$96(a2)
- clr.b zeiger(a1)
- move.l 14(a0),lfdzei(a1)
- rts
-
- bildaus: move.w #0+$180,$96(a2)
- move.w #0,$180(a2)
- move.b #1,bild(a1)
- zeigaus: move.w #0+$20,$96(a2)
- moveq #0,d0
- move.l d0,$144(a2)
- move.b #1,zeiger(a1)
- rts
-
- accalc: move.w d1,d2
- muls d2,d1
- addq.w #3,d1
- asr.w #2,d1
- tst.w d2
- bpl.s acne
- neg.w d1
- acne: rts
-
- rawkey: cmp.b #1,d1
- bne.s weith
- lea tastab(pc),a3
- move.w tast(a1),d0
- beq.s dff
- move.w -2(a3,d0.w),d1
- bset #7,d1
- cmp.w 6(a0),d1
- bne.s dff
- subq.w #2,tast(a1)
- cmp.w #6,d0
- bne.w weith
- clr.b 4(a0)
- bra.w weith
- dff: move.w 0(a3,d0.w),d1
- addq.w #2,d0
- cmp.w 6(a0),d1
- beq.s dfg
- clr.w d0
- dfg: move.w d0,tast(a1)
- cmp.w #6,d0
- bne.s dgg
- clr.b 4(a0) ;NOP-Event
- bsr.w bildaus
- bra.w weith
- dgg: bsr.w bildan
- tst.l zeisec(a1)
- beq.w weith
- bsr.w zeigaus
- bra.w weith
-
- tastab: dc.w $60,$63,$20
-
- handend:
-
- codepos = 0 ;für IE-Handler
- datpos = codepos+(handend-handbeg)
- intpos = datpos+datsize
- endpos = intpos+22
-
-
- ***** DOS-Library-Patch *****
- fki = -18
- ;fki+0 dc.w $4ef9 ;JMP $
- ;fki+2 dcb.b 6 ;Return-Code
- ;fki+8 dcb.b 4 ;Länge
- ;fki+12 dcb.b 4 ;Intuition-Base
- ;fki+16 dcb.b 2 ;Backup-Anzahl
- delfkt: movem.l d0-d3/a0-a6,-(sp)
- lea tx1(pc),a4
- lea tx2(pc),a5
- lea tx3(pc),a6
- bsr.s autorq
- movem.l (sp)+,d0-d3/a0-a6
- bne.s delfkt+fki+0
- moveq #-1,d0
- rts
-
- autorq: lea bo1i(pc),a1
- move.l d1,12(a1)
- lea bo2i(pc),a2
- move.l a2,16(a1)
- move.l a6,12(a2)
- lea noti(pc),a3
- move.l a4,12(a3)
- lea yesi(pc),a2
- move.l a5,12(a2)
- moveq #0,d0
- moveq #$20,d1
- swap d1
- move.w #320,d2
- moveq #62,d3
- move.l delfkt+fki+12(pc),a6
- move.l $34(a6),a0
- jsr autoreq(a6)
- tst.l d0
- rts
-
- opfkt: cmp.l #1006,d2
- bne.s delfkt+fki+0
- movem.l d0-d5/a0-a6,-(sp)
- move.l d1,d4
- moveq #-2,d2
- jsr lock(a6)
- move.l d0,d1
- beq.w srt
- jsr unlock(a6)
- move.l d4,a2
- zut: tst.b (a2)+
- bne.s zut
- sub.l d4,a2
- addq.l #5,a2
- move.l a2,d0
- lsl.l #1,d0
- moveq #1,d1
- move.l a6,d5
- move.l 4.w,a6
- jsr allocmem(a6)
- tst.l d0
- beq.w srt
- move.l d0,a3
- add.l d0,a2
- move.l d4,a4
- move.l a2,a0
- move.l a3,a1
- zot: move.b (a4),(a0)+
- move.b (a4)+,(a1)+
- bne.s zot
- subq.l #1,a0
- subq.l #1,a1
- lea fini(pc),a4
- zat: move.b (a4),(a0)+
- move.b (a4)+,(a1)+
- bne.s zat
- move.l a0,a4
- move.l a3,d1
- moveq #-2,d2
- move.l d5,a6
- jsr lock(a6)
- move.w delfkt+fki+16(pc),d1
- add.b #"0",d1
- move.b d1,-2(a2)
- subq.w #1,d1
- move.b d1,-2(a4)
- move.l d0,d1
- beq.w sab
- jsr unlock(a6)
- move.l a3,d1
- jsr delete(a6)
- tst.l d0
- bra.s oiu
- sab: move.l d4,d1
- movem.l a2-a4,-(sp)
- lea tx4(pc),a4
- lea tx5(pc),a5
- lea tx6(pc),a6
- bsr.w autorq
- movem.l (sp)+,a2-a4
- bne.s srt
- move.l d5,a6
- oiu: cmp.b #"0",-2(a4)
- beq.s uio
- move.l a2,d1
- move.l a3,d2
- jsr rename(a6)
- subq.b #1,-2(a2)
- subq.b #1,-2(a4)
- bra.s oiu
- uio: move.l d4,d1
- move.l a3,d2
- jsr rename(a6)
- tst.l d0
- bne.s srt
- movem.l (sp)+,d0-d5/a0-a6
- moveq #0,d0
- rts
- srt: movem.l (sp)+,d0-d5/a0-a6
- bra.w delfkt+fki+0
-
- tx1: dc.b "Abbruch",0
- tx2: dc.b "Löschen",0
- tx3: dc.b "löschen ?",0
- tx4: dc.b "Backup",0
- tx5: dc.b "Überschreiben",0
- tx6: dc.b "überschreiben ?",0
- fini: dc.b ".Bak1",0
- even
-
- noti: dc.b 0,0
- dc.w 0,6,3
- dc.l 0,0
-
- yesi: dc.b 0,0
- dc.w 0,6,3
- dc.l 0,0
-
- bo2i: dc.b 0,0
- dc.w 0,15,15
- dc.l 0,0
-
- bo1i: dc.b 0,0
- dc.w 0,15,5
- dc.l 0,0,0
- delfkte:
-
-
- even
- jmptab: dc.l infos-st,setmap-st,setmap2-st,zeit-st
- dc.l vector-st,vector2-st,scnon-st,ptron-st,turon-st,turoff-st
- dc.l resize-st,freqon-st,freqoff-st,delon-st,deloff-st
- dc.l bakon-st,bakoff-st
- zeitab: dc.b "?","d","D","s","r","R","b","m","t","T"
- dc.b "g","f","F","l","L","a","A",0
- dat: dc.b 29,25,46,37,33,46,45,41,32,32,21,17,58,13,9,58,5,1,10
- mon: dc.b 31,28,31,30,31,30,31,31,30,31,30,31
- smin = 60
- sst = 60*smin
- stag = 24*sst
- tjahr = 365
-
- even
- version:dc.b "$VER: DMAP 2.1 (02.11.93)",0
- keyres: dc.b "keymap.resource",0
- blkres: dc.b "blanker.resource",0
- condev: dc.b "console.device",0
- timdev: dc.b "timer.device",0
- inpdev: dc.b "input.device",0
- dosn: dc.b "dos.library",0
- intn: dc.b "intuition.library",0
- gfxn: dc.b "graphics.library",0
-
- vecok: dc.b "Nichts Resetfest",10
- vecoke:
- virus: dc.b $9b,"4;33;40mMöglicher Virus gefunden"
- dc.b $9b,"0;31;40m",10
- viruse:
- spatch: dc.b " Setpatch",10
- spatche:
- drurt: dc.b "Drücke RETURN"
- drurte:
- cold: dc.b "Cold:"
- cool: dc.b "Cool:"
- warm: dc.b "Warm:"
- verw: dc.b "So geht's:",10
- dc.b "DMAP dsrb300m10tgfla",10
- dc.b "d:Tastatur belegen",10
- dc.b "D:wie d, für WB-Start",10
- dc.b "s:Echtzeituhr lesen",10
- dc.b "r:Resetfeste Programme",10
- dc.b "R:wie r, für WB-Start",10
- dc.b "b#:Bildschirmschoner nach # sec",10
- dc.b "m#:Mauszeiger nach # sec abschalten",10
- dc.b "t:Mausbeschleuniger ein",10
- dc.b "T:t aus",10
- dc.b "g:Fenster vergrößern",10
- dc.b "f:Flimmerfrei ein",10
- dc.b "F:f aus",10
- dc.b "l:Löschabfrage",10
- dc.b "L:l aus",10
- dc.b "a#:Backupabfrage",10
- dc.b "A:a aus",10,10
- dc.b "b,m aus mit #=0",10
- dc.b "Bild aus:LinkeSHIFT+CTRL+A",10
- even
- dc.b "V2.1 von Martin Gierich",10 ;Diese Zeile nicht ändern !
- verwe:
-
- ;Default-Tastatur
-
- even
- dc.l (m2-m1)/4-1,(h2-h1)/4-1,m2-m1,h2-h1 ;Größe
- kmap:
- m1: DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$03,$9C,$00,$00
- DC.B $00,$4C,$00,$00,$00,$C4,$00,$00
- DC.B $00,$2E,$00,$00,$00,$3D,$00,$00
- DC.B $00,$8C,$00,$00,$01,$C4,$00,$00
- DC.B $00,$36,$00,$00,$00,$45,$00,$00
- DC.B $FF,$07,$FF,$07,$FE,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$FF,$BF,$FF
- DC.B $EF,$FF,$EF,$FF,$F7,$47,$F4,$FF
- DC.B $7F,$00,$00,$00,$07,$03,$03,$03
- DC.B $03,$03,$07,$03,$03,$03,$03,$07
- DC.B $03,$07,$80,$00,$07,$07,$07,$07
- DC.B $07,$07,$07,$07,$07,$07,$07,$07
- DC.B $80,$00,$00,$00,$07,$07,$07,$07
- DC.B $07,$07,$07,$07,$07,$03,$03,$07
- DC.B $80,$00,$00,$00,$01,$07,$07,$07
- DC.B $07,$07,$07,$07,$03,$03,$07,$80
- DC.B $00,$00,$00,$00,$02,$00,$41,$00
- DC.B $05,$02,$00,$80,$80,$80,$00,$80
- DC.B $41,$41,$41,$41,$41,$41,$41,$41
- DC.B $41,$41,$41,$41,$00,$00,$05,$05
- DC.B $00,$00,$00,$40,$80,$80,$80,$80
- DC.B $80,$80,$80,$80,$80,$80,$80,$80
- DC.B $80,$80,$80,$80,$80,$80,$80,$80
- DC.B $80,$80,$80,$80,$7E,$60,$7E,$60
- DC.B $21,$B9,$21,$31,$B2,$40,$22,$32
- DC.B $23,$B3,$A7,$33,$A2,$B0,$24,$34
- DC.B $25,$BC,$25,$35,$5E,$BD,$26,$36
- DC.B $26,$BE,$2F,$37,$2A,$B7,$28,$38
- DC.B $28,$AB,$29,$39,$29,$BB,$3D,$30
- DC.B $5F,$2D,$3F,$DF,$00,$00,$00,$05
- DC.B $7C,$5C,$7C,$5C,$00,$00,$00,$00
- DC.B $00,$00,$00,$30,$C5,$E5,$51,$71
- DC.B $B0,$B0,$57,$77,$00,$00,$45,$65
- DC.B $AE,$AE,$52,$72,$DE,$FE,$54,$74
- DC.B $A5,$A4,$5A,$7A,$00,$00,$55,$75
- DC.B $00,$00,$49,$69,$00,$00,$4F,$6F
- DC.B $B6,$B6,$50,$70,$7B,$5B,$DC,$FC
- DC.B $7D,$5D,$2A,$2B,$00,$00,$00,$00
- DC.B $00,$00,$00,$31,$00,$00,$00,$32
- DC.B $00,$00,$00,$33,$00,$00,$41,$61
- DC.B $A7,$DF,$53,$73,$D0,$F0,$44,$64
- DC.B $00,$00,$46,$66,$00,$00,$47,$67
- DC.B $00,$00,$48,$68,$00,$00,$4A,$6A
- DC.B $00,$00,$4B,$6B,$A3,$A3,$4C,$6C
- DC.B $3A,$3B,$D6,$F6,$22,$27,$C4,$E4
- DC.B $5E,$23,$5E,$23,$00,$00,$00,$00
- DC.B $00,$00,$00,$34,$00,$00,$00,$35
- DC.B $00,$00,$00,$36,$00,$00,$3E,$3C
- DC.B $00,$00,$59,$79,$F7,$D7,$58,$78
- DC.B $C7,$E7,$43,$63,$AA,$AA,$56,$76
- DC.B $BA,$BA,$42,$62,$00,$00,$4E,$6E
- DC.B $BF,$B8,$4D,$6D,$3C,$2C,$3B,$2C
- DC.B $3E,$2E,$3A,$2E,$3F,$AD,$5F,$2D
- DC.B $00,$00,$00,$00,$00,$00,$00,$2E
- DC.B $00,$00,$00,$37,$00,$00,$00,$38
- DC.B $00,$00,$00,$39,$00,$00,$A0,$20
- DC.B $00,$00,$00,$08,$00,$00,$02,$A4
- DC.B $00,$00,$00,$0D,$00,$0A,$0A,$0D
- DC.B $00,$00,$9B,$1B,$00,$00,$00,$7F
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$2D
- DC.B $00,$00,$00,$00,$00,$00,$02,$AB
- DC.B $00,$00,$02,$B3,$00,$00,$02,$BB
- DC.B $00,$00,$02,$C4,$00,$00,$02,$CD
- DC.B $00,$00,$02,$E5,$00,$00,$03,$02
- DC.B $00,$00,$03,$17,$00,$00,$03,$28
- DC.B $00,$00,$03,$38,$00,$00,$03,$48
- DC.B $00,$00,$03,$78,$00,$00,$E5,$00
- DC.B $00,$00,$E5,$00,$1B,$1B,$7B,$5B
- DC.B $1D,$1D,$7D,$5D,$00,$00,$00,$2F
- DC.B $00,$00,$00,$2A,$00,$00,$00,$2B
- DC.B $00,$00,$03,$97,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$00,$00,$00,$00
- DC.B $00,$00,$00,$00,$01,$04,$02,$05
- DC.B $09,$9B,$5A,$02,$04,$02,$06,$9B
- DC.B $41,$9B,$54,$02,$04,$02,$06,$9B
- DC.B $42,$9B,$53,$02,$04,$03,$06,$9B
- DC.B $43,$9B,$20,$40,$02,$04,$03,$06
- DC.B $9B,$44,$9B,$20,$41,$04,$04,$10
- DC.B $08,$44,$69,$72,$0D,$53,$74,$61
- DC.B $72,$74,$75,$70,$2D,$53,$65,$71
- DC.B $75,$65,$6E,$63,$65,$05,$04,$14
- DC.B $09,$4C,$69,$73,$74,$0D,$53,$79
- DC.B $73,$74,$65,$6D,$2D,$43,$6F,$6E
- DC.B $66,$69,$67,$75,$72,$61,$74,$69
- DC.B $6F,$6E,$08,$04,$09,$0C,$45,$78
- DC.B $65,$63,$75,$74,$65,$20,$4D,$6F
- DC.B $75,$6E,$74,$4C,$69,$73,$74,$05
- DC.B $04,$08,$09,$49,$6E,$66,$6F,$0D
- DC.B $2E,$6C,$69,$62,$72,$61,$72,$79
- DC.B $05,$04,$07,$09,$43,$6F,$70,$79
- DC.B $20,$2E,$64,$65,$76,$69,$63,$65
- DC.B $04,$04,$08,$08,$43,$6C,$73,$0D
- DC.B $2D,$48,$61,$6E,$64,$6C,$65,$72
- DC.B $09,$04,$23,$0D,$50,$61,$74,$68
- DC.B $20,$52,$41,$4D,$3A,$46,$6F,$72
- DC.B $6D,$61,$74,$20,$44,$72,$69,$76
- DC.B $65,$20,$44,$46,$31,$3A,$20,$4E
- DC.B $61,$6D,$65,$20,$4C,$65,$65,$72
- DC.B $20,$4E,$6F,$69,$63,$6F,$6E,$73
- DC.B $0F,$04,$0C,$13,$50,$61,$74,$68
- DC.B $20,$53,$59,$53,$3A,$53,$79,$73
- DC.B $74,$65,$6D,$49,$6E,$73,$74,$61
- DC.B $6C,$6C,$20,$44,$46,$31,$3A,$03
- DC.B $02,$9B,$3F,$7E,$64,$6C,$00,$4D
- DC.B $20,$47,$69,$65,$72,$69,$63,$68
- m2:
-
- h1: DC.B $00,$00,$02,$40,$00,$00,$02,$20
- DC.B $00,$00,$02,$1C,$00,$00,$02,$18
- DC.B $00,$00,$02,$14,$00,$00,$02,$10
- DC.B $00,$00,$02,$0C,$00,$00,$02,$08
- DC.B $00,$00,$02,$04,$00,$00,$02,$00
- DC.B $00,$00,$01,$FC,$00,$00,$01,$F8
- DC.B $00,$00,$01,$F4,$00,$00,$01,$CC
- DC.B $00,$00,$00,$2A,$00,$00,$00,$26
- DC.B $00,$00,$00,$22,$00,$00,$00,$1E
- DC.B $00,$00,$00,$1A,$00,$00,$00,$16
- DC.B $00,$00,$00,$12,$00,$00,$00,$0E
- DC.B $00,$00,$00,$0A
-
- even
- h4: dcb.w (h4-st)/2-((h4-st)/4*2) ;Wäre das auch einfacher
- ;möglich gewesen ?
- ;Ja, mit CNOP !
- h2: dc.l $03f2 ;Hunk-Ende
- h3:
-
- dcb.b 1000 ;Platz für größere Tastaturen
-
-
-
- end: END
-
-